package abs.domain;

import java.io.Serializable;

import java.lang.StringBuilder;

import java.util.Calendar;

import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

import javax.xml.bind.annotation.*;

import javax.persistence.*;

/**
 */

@Entity
@NamedQueries({
		@NamedQuery(name = "findAllTipoCuentass", query = "select myTipoCuentas from TipoCuentas myTipoCuentas"),
		@NamedQuery(name = "findTipoCuentasByCo020clcu", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020clcu = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020clcuContaining", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020clcu like ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020desc", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020desc = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020descContaining", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020desc like ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020fead", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020fead = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020feadAfter", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020fead > ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020feadBefore", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020fead < ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020femo", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020femo = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020femoAfter", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020femo > ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020femoBefore", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020femo < ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020load", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020load = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020loadContaining", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020load like ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020lomo", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020lomo = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020lomoContaining", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020lomo like ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020timo", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020timo = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020timoContaining", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020timo like ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020tipo", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020tipo = ?1"),
		@NamedQuery(name = "findTipoCuentasByCo020tipoContaining", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020tipo like ?1"),
		@NamedQuery(name = "findTipoCuentasByPrimaryKey", query = "select myTipoCuentas from TipoCuentas myTipoCuentas where myTipoCuentas.co020tipo = ?1") })
@Table(catalog = "absV2", name = "co020")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(namespace = "absWeb/abs/domain", name = "TipoCuentas")
public class TipoCuentas implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * Tipo de Cuenta
	 * 
	 */

	@Column(name = "co020tipo", length = 2, nullable = false)
	@Basic(fetch = FetchType.EAGER)
	@Id
	@XmlElement
	String co020tipo;
	/**
	 * Descripcion
	 * 
	 */

	@Column(name = "co020desc", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String co020desc;
	/**
	 * Clase de Cuenta
	 * 
	 */

	@Column(name = "co020clcu", length = 1)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String co020clcu;
	/**
	 */

	@Column(name = "co020timo", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String co020timo;
	/**
	 */

	@Column(name = "co020load", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String co020load;
	/**
	 * Fecha de Adicion
	 * 
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "co020fead")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Calendar co020fead;
	/**
	 */

	@Column(name = "co020lomo", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String co020lomo;
	/**
	 * Fecha de Modificacion
	 * 
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "co020femo")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Calendar co020femo;

	/**
	 * Tipo de Cuenta
	 * 
	 */
	public void setCo020tipo(String co020tipo) {
		this.co020tipo = co020tipo;
	}

	/**
	 * Tipo de Cuenta
	 * 
	 */
	public String getCo020tipo() {
		return this.co020tipo;
	}

	/**
	 * Descripcion
	 * 
	 */
	public void setCo020desc(String co020desc) {
		this.co020desc = co020desc;
	}

	/**
	 * Descripcion
	 * 
	 */
	public String getCo020desc() {
		return this.co020desc;
	}

	/**
	 * Clase de Cuenta
	 * 
	 */
	public void setCo020clcu(String co020clcu) {
		this.co020clcu = co020clcu;
	}

	/**
	 * Clase de Cuenta
	 * 
	 */
	public String getCo020clcu() {
		return this.co020clcu;
	}

	/**
	 */
	public void setCo020timo(String co020timo) {
		this.co020timo = co020timo;
	}

	/**
	 */
	public String getCo020timo() {
		return this.co020timo;
	}

	/**
	 */
	public void setCo020load(String co020load) {
		this.co020load = co020load;
	}

	/**
	 */
	public String getCo020load() {
		return this.co020load;
	}

	/**
	 * Fecha de Adicion
	 * 
	 */
	public void setCo020fead(Calendar co020fead) {
		this.co020fead = co020fead;
	}

	/**
	 * Fecha de Adicion
	 * 
	 */
	public Calendar getCo020fead() {
		return this.co020fead;
	}

	/**
	 */
	public void setCo020lomo(String co020lomo) {
		this.co020lomo = co020lomo;
	}

	/**
	 */
	public String getCo020lomo() {
		return this.co020lomo;
	}

	/**
	 * Fecha de Modificacion
	 * 
	 */
	public void setCo020femo(Calendar co020femo) {
		this.co020femo = co020femo;
	}

	/**
	 * Fecha de Modificacion
	 * 
	 */
	public Calendar getCo020femo() {
		return this.co020femo;
	}

	/**
	 */
	public TipoCuentas() {
	}

	/**
	 * Copies the contents of the specified bean into this bean.
	 *
	 */
	public void copy(TipoCuentas that) {
		setCo020tipo(that.getCo020tipo());
		setCo020desc(that.getCo020desc());
		setCo020clcu(that.getCo020clcu());
		setCo020timo(that.getCo020timo());
		setCo020load(that.getCo020load());
		setCo020fead(that.getCo020fead());
		setCo020lomo(that.getCo020lomo());
		setCo020femo(that.getCo020femo());
	}

	/**
	 * Returns a textual representation of a bean.
	 *
	 */
	@Override
	public String toString() {

		StringBuilder buffer = new StringBuilder();

		buffer.append("co020tipo=[").append(co020tipo).append("] ");
		buffer.append("co020desc=[").append(co020desc).append("] ");
		buffer.append("co020clcu=[").append(co020clcu).append("] ");
		buffer.append("co020timo=[").append(co020timo).append("] ");
		buffer.append("co020load=[").append(co020load).append("] ");
		buffer.append("co020fead=[").append(co020fead).append("] ");
		buffer.append("co020lomo=[").append(co020lomo).append("] ");
		buffer.append("co020femo=[").append(co020femo).append("] ");

		return buffer.toString();
	}

	/**
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = (prime * result + ((co020tipo == null) ? 0 : co020tipo.hashCode()));
		return result;
	}

	/**
	 */
	@Override
	public boolean equals(Object obj) {
		if (obj == this)
			return true;
		if (!(obj instanceof TipoCuentas))
			return false;
		TipoCuentas equalCheck = (TipoCuentas) obj;
		if ((co020tipo == null && equalCheck.co020tipo != null) || (co020tipo != null && equalCheck.co020tipo == null))
			return false;
		if (co020tipo != null && !co020tipo.equals(equalCheck.co020tipo))
			return false;
		return true;
	}
}
